<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Cryptic Cabinet: Package List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="Logo 100x100px.png"/></td>
  <td id="projectalign">
   <div id="projectname">Cryptic Cabinet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('namespaces.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="headertitle"><div class="title">Package List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the packages with brief descriptions (if available):</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet.html" target="_self">CrypticCabinet</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_audio.html" target="_self">Audio</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_audio_1_1_act1_cabinet_audio.html" target="_self">Act1CabinetAudio</a></td><td class="desc">Controls the audio for the intro animation timeline (Act1) </td></tr>
<tr id="row_0_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_audio_1_1_audio_fade.html" target="_self">AudioFade</a></td><td class="desc">Allows a signal emitter to trigger an audio fade via a timeline </td></tr>
<tr id="row_0_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_audio_1_1_clock_spinner_audio.html" target="_self">ClockSpinnerAudio</a></td><td class="desc">Controls the audio of the clock and its volume (within m_minVol and m_maxVol) </td></tr>
<tr id="row_0_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_audio_1_1_mini_generator_audio.html" target="_self">MiniGeneratorAudio</a></td><td class="desc">Controls the audios for the mini generators </td></tr>
<tr id="row_0_0_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_audio_1_1_play_audio_delayed.html" target="_self">PlayAudioDelayed</a></td><td class="desc">Plays the specified audio source after the desired m_delayAmount </td></tr>
<tr id="row_0_0_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_audio_1_1_shutter_audio.html" target="_self">ShutterAudio</a></td><td class="desc">Triggers the audio for the creak and chimes SFX of the Window on the sand puzzle </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_colocation.html" target="_self">Colocation</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_colocation_1_1_align_camera_to_anchor_manager.html" target="_self">AlignCameraToAnchorManager</a></td><td class="desc">Manages the AlignCameraToAnchor to realign when user recenter </td></tr>
<tr id="row_0_1_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_colocation_1_1_colocation_driver_net_obj.html" target="_self">ColocationDriverNetObj</a></td><td class="desc">Manages the complete workflow to ensure that all existing and new users will be colocated correctly into the room </td></tr>
<tr id="row_0_1_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_colocation_1_1_colocation_manager.html" target="_self">ColocationManager</a></td><td class="desc">Handles the colocation process, and offers functions to emulate colocation completed or failed in Editor </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_debugging.html" target="_self">Debugging</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_debugging_1_1_network_debug_spawner.html" target="_self">NetworkDebugSpawner</a></td><td class="desc">Programmatically spawns a specific network object every second when enabled. We can use this to assess multiplayer sessions </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_editor.html" target="_self">Editor</a></td><td class="desc"></td></tr>
<tr id="row_0_3_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_editor_1_1_app_builder.html" target="_self">AppBuilder</a></td><td class="desc">Small class for build the application. Currently depends on the correct scenes being in the build settings </td></tr>
<tr id="row_0_3_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_editor_1_1_removed_permissions_build_step.html" target="_self">RemovedPermissionsBuildStep</a></td><td class="desc">Callback between the Unity export and the Gradle build to removed unnecessary permissions in the AndroidManifest.xml </td></tr>
<tr id="row_0_3_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_editor_1_1_showcase_telemetry.html" target="_self">ShowcaseTelemetry</a></td><td class="desc">This class helps us track the usage of this showcase </td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_game_management.html" target="_self">GameManagement</a></td><td class="desc"></td></tr>
<tr id="row_0_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_4_0_" class="arrow" onclick="toggleFolder('0_4_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_game_management_1_1_puzzles.html" target="_self">Puzzles</a></td><td class="desc"></td></tr>
<tr id="row_0_4_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_puzzles_1_1_sand_puzzle_game_phase.html" target="_self">SandPuzzleGamePhase</a></td><td class="desc"></td></tr>
<tr id="row_0_4_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_4_1_" class="arrow" onclick="toggleFolder('0_4_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_game_management_1_1_room_setup.html" target="_self">RoomSetup</a></td><td class="desc"></td></tr>
<tr id="row_0_4_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_room_setup_1_1_object_spawning_logic_phase.html" target="_self">ObjectSpawningLogicPhase</a></td><td class="desc">Represent the game phase that configures the placement of the virtual objects into the real room </td></tr>
<tr id="row_0_4_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_4_2_" class="arrow" onclick="toggleFolder('0_4_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_game_management_1_1_timeline.html" target="_self">Timeline</a></td><td class="desc"></td></tr>
<tr id="row_0_4_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_timeline_1_1_timeline_game_phase.html" target="_self">TimelineGamePhase</a></td><td class="desc">Represents a game phase where a timeline animation is played. This will be used by the intro animation (Act1) and outro animation (Act3) </td></tr>
<tr id="row_0_4_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_timeline_1_1_timeline_game_step.html" target="_self">TimelineGameStep</a></td><td class="desc">Used to trigger an action when the timeline animation completes / stops. We use this to proceed to the next game phase when the timeline game phase completes </td></tr>
<tr id="row_0_4_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_4_3_" class="arrow" onclick="toggleFolder('0_4_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_game_management_1_1_wait_for_guests.html" target="_self">WaitForGuests</a></td><td class="desc"></td></tr>
<tr id="row_0_4_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_wait_for_guests_1_1_start_game_trigger.html" target="_self">StartGameTrigger</a></td><td class="desc">Trigger to start the game during a multiplayer session </td></tr>
<tr id="row_0_4_3_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_wait_for_guests_1_1_wait_for_guests_phase.html" target="_self">WaitForGuestsPhase</a></td><td class="desc">Simple game phase where a message is shown to the Host asking for pressing a "start game" button that will force all new future guests to be forbidden from joining the game. When the "start game" button is pressed, the game officially starts for all joined players </td></tr>
<tr id="row_0_4_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_act_three_starter.html" target="_self">ActThreeStarter</a></td><td class="desc">Triggers the start of the outro (Act3) when the directional coil fires the ray towards the cabinet </td></tr>
<tr id="row_0_4_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_game_manager.html" target="_self">GameManager</a></td><td class="desc">This class manages the game phases dynamically. This is a singleton for convenience, so that from any part of the game anything can request to proceed to the next phase of the gameplay if desired </td></tr>
<tr id="row_0_4_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_game_phase.html" target="_self">GamePhase</a></td><td class="desc">Represents a game phase for the gameplay </td></tr>
<tr id="row_0_4_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_game_management_1_1_skip_game_phase.html" target="_self">SkipGamePhase</a></td><td class="desc">Utility script that triggers the next game phase by pressing the P of the keyboard, or by pressing both joysticks of the Quest controllers. Only meant for debugging purposes </td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_5_" class="arrow" onclick="toggleFolder('0_5_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_interactions.html" target="_self">Interactions</a></td><td class="desc"></td></tr>
<tr id="row_0_5_0_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_0_" class="arrow" onclick="toggleFolder('0_5_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_interactions_1_1_one_grab_toggle_rotate_transformer.html" target="_self">OneGrabToggleRotateTransformer</a></td><td class="desc">This is a blend of the OneGrabRotateTransformer and OneGrabFreeTransformer There's added functionality to allow toggling between a free movement and rotation transformation. Furthermore, there's a "break snap" feature to pull from rotation to free movement. <br  />
 </td></tr>
<tr id="row_0_5_0_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_interactions_1_1_one_grab_toggle_rotate_transformer_1_1_one_grab_rotate_constraints.html" target="_self">OneGrabRotateConstraints</a></td><td class="desc"></td></tr>
<tr id="row_0_5_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_interactions_1_1_screwable_object.html" target="_self">ScrewableObject</a></td><td class="desc">Simulates the motion of a screwable object onto a screw snap zone </td></tr>
<tr id="row_0_5_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_interactions_1_1_screw_snap_zone.html" target="_self">ScrewSnapZone</a></td><td class="desc">Defines a snap zone onto which a screwable object can snap via a screwing-in motion </td></tr>
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_6_" class="arrow" onclick="toggleFolder('0_6_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_intro_outro.html" target="_self">IntroOutro</a></td><td class="desc"></td></tr>
<tr id="row_0_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_act_one_multiuser_manager.html" target="_self">ActOneMultiuserManager</a></td><td class="desc">Script for the Intro timeline animation control (Act1). Triggers the next timeline phase for all users in a session when the note has been grabbed </td></tr>
<tr id="row_0_6_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_act_three_multi_user_manager.html" target="_self">ActThreeMultiUserManager</a></td><td class="desc">Script for the Outro timeline animation control (Act3). Triggers the next timeline phase for all users in a session when the note has been grabbed. On outro timeline completed, it disconnects all guest users, shows credits, and restarts the gameplay </td></tr>
<tr id="row_0_6_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_distance_stick_to_surface.html" target="_self">DistanceStickToSurface</a></td><td class="desc">A ray that sticks to the specified surface depending on the layer mask and ObjectPlacementType </td></tr>
<tr id="row_0_6_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_distance_stick_to_surface_provider.html" target="_self">DistanceStickToSurfaceProvider</a></td><td class="desc">Provides a visual DistanceStickToSurface object configured for the specified ObjectPlacementType </td></tr>
<tr id="row_0_6_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_enabled_state_target.html" target="_self">EnabledStateTarget</a></td><td class="desc">Controls the enable state of a list of objects to enable or disable </td></tr>
<tr id="row_0_6_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_fade_target.html" target="_self">FadeTarget</a></td><td class="desc">Controls the fading of a specified target </td></tr>
<tr id="row_0_6_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_random_fade.html" target="_self">RandomFade</a></td><td class="desc">Manages the fading effect of multiple fade targets, optionally using an offset for the start of the fading effect </td></tr>
<tr id="row_0_6_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_set_object_enabled_state.html" target="_self">SetObjectEnabledState</a></td><td class="desc">Retrieves all EnabledStateTarget components and triggers on them the new enabled state according to the desired new state </td></tr>
<tr id="row_0_6_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_intro_outro_1_1_sweep_fade.html" target="_self">SweepFade</a></td><td class="desc">Controls the sweep fade effect for the specified fade targets </td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_7_" class="arrow" onclick="toggleFolder('0_7_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_o_v_r.html" target="_self">OVR</a></td><td class="desc"></td></tr>
<tr id="row_0_7_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_o_v_r_1_1_grabbable_fixed.html" target="_self">GrabbableFixed</a></td><td class="desc">Copied from Oculus.Interaction.Grabbable, with a fix to ForceMove function for distance grab Moves the object it's attached to when an Interactor selects that object </td></tr>
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_8_" class="arrow" onclick="toggleFolder('0_8_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_passthrough.html" target="_self">Passthrough</a></td><td class="desc"></td></tr>
<tr id="row_0_8_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_passthrough_1_1_passthrough_changer.html" target="_self">PassthroughChanger</a></td><td class="desc">This component interacts with the PassthroughConfigurator (if any in the scene) to apply changes to the passthrough dynamically in terms of brightness, contrast, opacity and saturation </td></tr>
<tr id="row_0_8_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_passthrough_1_1_passthrough_configurator.html" target="_self">PassthroughConfigurator</a></td><td class="desc">Allows to change settings of a specified passthrough layer on demand. It can propagate the change to all players using RPC </td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_9_" class="arrow" onclick="toggleFolder('0_9_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_photon.html" target="_self">Photon</a></td><td class="desc"></td></tr>
<tr id="row_0_9_0_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_9_0_" class="arrow" onclick="toggleFolder('0_9_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_photon_1_1_colocation.html" target="_self">Colocation</a></td><td class="desc"></td></tr>
<tr id="row_0_9_0_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_photon_1_1_colocation_1_1_photon_net_anchor.html" target="_self">PhotonNetAnchor</a></td><td class="desc">Represents a replicated spatial anchor via Photon network </td></tr>
<tr id="row_0_9_0_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_photon_1_1_colocation_1_1_photon_net_player.html" target="_self">PhotonNetPlayer</a></td><td class="desc">Represents a connected user, identified by Oculus ID and Colocation group ID </td></tr>
<tr id="row_0_9_0_2_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_photon_1_1_colocation_1_1_photon_network_data.html" target="_self">PhotonNetworkData</a></td><td class="desc">Holds the count for all colocation groups, the anchors list, and players list </td></tr>
<tr id="row_0_9_0_3_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_photon_1_1_colocation_1_1_photon_network_messenger.html" target="_self">PhotonNetworkMessenger</a></td><td class="desc">Provides a mean to send network messages among all connected users. It holds the dictionary of all connected users, who can be included into the messaging system </td></tr>
<tr id="row_0_9_0_4_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_photon_1_1_colocation_1_1_photon_share_and_localize_params.html" target="_self">PhotonShareAndLocalizeParams</a></td><td class="desc">A Photon Fusion wrapper for ShareAndLocalizeParams Used to be able to serialize and send the ShareAndLocalizeParams data over the network </td></tr>
<tr id="row_0_9_1_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_9_1_" class="arrow" onclick="toggleFolder('0_9_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_photon_1_1_replication.html" target="_self">Replication</a></td><td class="desc"></td></tr>
<tr id="row_0_9_1_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_photon_1_1_replication_1_1_photon_extended_networked_transform.html" target="_self">PhotonExtendedNetworkedTransform</a></td><td class="desc">The NetworkTransform of Photon Fusion by default only replicates position and rotation. This class instead replicates the scale vector3 as well </td></tr>
<tr id="row_0_9_2_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_9_2_" class="arrow" onclick="toggleFolder('0_9_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_photon_1_1_utils.html" target="_self">Utils</a></td><td class="desc"></td></tr>
<tr id="row_0_9_2_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_photon_1_1_utils_1_1_room_name_generator.html" target="_self">RoomNameGenerator</a></td><td class="desc">Utility class to generate a random room name using numeric digits </td></tr>
<tr id="row_0_9_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_photon_1_1_photon_connector.html" target="_self">PhotonConnector</a></td><td class="desc">Manages network connection between the App and the Photon Fusion cloud services. When in a multiplayer session, it is possible to connect as the main player responsible for the scene configuration (Host), or as guest with colocation (Join) </td></tr>
<tr id="row_0_9_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_photon_1_1_photon_instantiator.html" target="_self">PhotonInstantiator</a></td><td class="desc">Instantiates the specified network object across all clients. This is done on Start (when spawned for the first time). The spawned network object will automatically be child of the parent of this script. Note: This is a Multiton, which keeps track of all the instantiated instances </td></tr>
<tr id="row_0_10_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_10_" class="arrow" onclick="toggleFolder('0_10_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_player.html" target="_self">Player</a></td><td class="desc"></td></tr>
<tr id="row_0_10_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_player_1_1_cryptic_cabinet_player.html" target="_self">CrypticCabinetPlayer</a></td><td class="desc">Represents the main player. It controls the way the user can interact with all aspects of the game, the interaction with virtual objects and UI, and the player's identification for other players </td></tr>
<tr id="row_0_10_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_player_1_1_network_player_behaviour.html" target="_self">NetworkPlayerBehaviour</a></td><td class="desc">Represents a player with replicated values through Photon Fusion </td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_11_" class="arrow" onclick="toggleFolder('0_11_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles.html" target="_self">Puzzles</a></td><td class="desc"></td></tr>
<tr id="row_0_11_0_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_0_" class="arrow" onclick="toggleFolder('0_11_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_atlas_puzzle.html" target="_self">AtlasPuzzle</a></td><td class="desc"></td></tr>
<tr id="row_0_11_0_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_atlas_puzzle_1_1_atlas_statue.html" target="_self">AtlasStatue</a></td><td class="desc">Controls the behavior of the Atlas statue </td></tr>
<tr id="row_0_11_0_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_atlas_puzzle_1_1_atlas_stone.html" target="_self">AtlasStone</a></td><td class="desc">Represents the object that identifies as the Atlas stone for the Atlas statue </td></tr>
<tr id="row_0_11_1_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_1_" class="arrow" onclick="toggleFolder('0_11_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_clock.html" target="_self">Clock</a></td><td class="desc"></td></tr>
<tr id="row_0_11_1_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_clock_hand_mover.html" target="_self">ClockHandMover</a></td><td class="desc">Represents the control of the clock hands for the clock puzzle </td></tr>
<tr id="row_0_11_1_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_clock_spinner.html" target="_self">ClockSpinner</a></td><td class="desc">Represents the clock spinner the user can interact with to update the clock hands' positions </td></tr>
<tr id="row_0_11_1_2_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_door_open_complete.html" target="_self">DoorOpenComplete</a></td><td class="desc">Disables an animator when the OnStateExit is called. Used for the door of the clock puzzle </td></tr>
<tr id="row_0_11_1_3_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_follow_target.html" target="_self">FollowTarget</a></td><td class="desc"></td></tr>
<tr id="row_0_11_1_4_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_ignore_collisions_set_up.html" target="_self">IgnoreCollisionsSetUp</a></td><td class="desc"></td></tr>
<tr id="row_0_11_1_5_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_key_interactable.html" target="_self">KeyInteractable</a></td><td class="desc">Defines the interactable for the key inside the clock puzzle </td></tr>
<tr id="row_0_11_1_6_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_clock_1_1_key_interaction.html" target="_self">KeyInteraction</a></td><td class="desc">Defines the interactions the user can perform on the key of the clock puzzle. It also controls the trigger for the drawer that unlocks and open for the Tesla puzzle </td></tr>
<tr id="row_0_11_2_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_2_" class="arrow" onclick="toggleFolder('0_11_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_orrery.html" target="_self">Orrery</a></td><td class="desc"></td></tr>
<tr id="row_0_11_2_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_cue_finder.html" target="_self">CueFinder</a></td><td class="desc">Retrieves the OrreryClueControl and update the cue state over it </td></tr>
<tr id="row_0_11_2_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_clue_control.html" target="_self">OrreryClueControl</a></td><td class="desc">Controls the clue that is shown to the user when the light beam hit the glass orb in the orrery </td></tr>
<tr id="row_0_11_2_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_11_2_2_" class="arrow" onclick="toggleFolder('0_11_2_2_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_control.html" target="_self">OrreryControl</a></td><td class="desc">Defines the controls for the orrery puzzle </td></tr>
<tr id="row_0_11_2_2_0_" class="odd" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_control_1_1_button_affect_data.html" target="_self">ButtonAffectData</a></td><td class="desc">Serialize the effect of a specific button of the orrery over the planets rotations </td></tr>
<tr id="row_0_11_2_2_1_" class="odd" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_control_1_1_planet_rotation.html" target="_self">PlanetRotation</a></td><td class="desc">Serialize the planet rotation </td></tr>
<tr id="row_0_11_2_2_2_" class="odd" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_control_1_1_planet_status_data.html" target="_self">PlanetStatusData</a></td><td class="desc">Serializes the planet position, angle and motion time </td></tr>
<tr id="row_0_11_2_3_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_planet.html" target="_self">OrreryPlanet</a></td><td class="desc">Represents a planet of the orrery puzzle. It defines the snapping status (correct or incorrect), and the grab interactions </td></tr>
<tr id="row_0_11_2_4_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_orrery_planet_socket.html" target="_self">OrreryPlanetSocket</a></td><td class="desc">Represent the snap socket for a planet in the orrery. It holds information related to the correct planet to snap into this socket, and the currently snapped planet into this socket </td></tr>
<tr id="row_0_11_2_5_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_orrery_1_1_place_clue_over_ceiling.html" target="_self">PlaceClueOverCeiling</a></td><td class="desc">This script moves its GameObject to the same height of the ceiling of the room </td></tr>
<tr id="row_0_11_3_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_3_" class="arrow" onclick="toggleFolder('0_11_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_safe.html" target="_self">Safe</a></td><td class="desc"></td></tr>
<tr id="row_0_11_3_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_safe_1_1_collision_detector.html" target="_self">CollisionDetector</a></td><td class="desc">Detects collisions with the colliders tagged with m_tagName, and performs callbacks on trigger enter or exit </td></tr>
<tr id="row_0_11_3_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_safe_1_1_safe_lock_checker.html" target="_self">SafeLockChecker</a></td><td class="desc">Checks the current values for the SafeLockDialer, and triggers the relative events on correct or wrong combination </td></tr>
<tr id="row_0_11_3_2_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_safe_1_1_safe_lock_dialer.html" target="_self">SafeLockDialer</a></td><td class="desc">Defines the behavior for the lock dialer of the safe. It controls the way it spins, the values it can assume, and the mesh rotation for the currently chosen number </td></tr>
<tr id="row_0_11_3_3_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_safe_1_1_safe_state_machine.html" target="_self">SafeStateMachine</a></td><td class="desc">Represents the state machine for the safe puzzle </td></tr>
<tr id="row_0_11_3_4_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_safe_1_1_swipe_detector.html" target="_self">SwipeDetector</a></td><td class="desc">Detects if the user hands (or the hands controllers) perform a swipe over a specific area. This is used for the dial interactions. The mechanism uses three colliders, to detect swipe up or swipe down actions with the user finger </td></tr>
<tr id="row_0_11_4_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_4_" class="arrow" onclick="toggleFolder('0_11_4_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle.html" target="_self">SandPuzzle</a></td><td class="desc"></td></tr>
<tr id="row_0_11_4_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_distance_checker.html" target="_self">DistanceChecker</a></td><td class="desc"></td></tr>
<tr id="row_0_11_4_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_hook.html" target="_self">Hook</a></td><td class="desc">Used to trigger actions when an object is attached or removed from the hook of the sand puzzle </td></tr>
<tr id="row_0_11_4_2_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_hookable.html" target="_self">Hookable</a></td><td class="desc">Limitation: Every hookable work only with one hook in the same "trigger zone" If two hooks are in the same trigger zone of the hookable, the behavior is undefined </td></tr>
<tr id="row_0_11_4_3_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_light_beam_bouncer.html" target="_self">LightBeamBouncer</a></td><td class="desc">Component giving the object the ability to bounce the light beam Requiring Rigid body to ensure it can receive a raycast </td></tr>
<tr id="row_0_11_4_4_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_light_beam_destination.html" target="_self">LightBeamDestination</a></td><td class="desc">Represents the intended destination of the light beam. Attach this to the intended object that needs to be hit by the light beam last to trigger an event. Requiring Rigidbody to ensure it can receive a raycast </td></tr>
<tr id="row_0_11_4_5_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_light_beam_emitter.html" target="_self">LightBeamEmitter</a></td><td class="desc">Represents the source of a light beam, from which the light beam is generated </td></tr>
<tr id="row_0_11_4_6_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_light_beam_glare.html" target="_self">LightBeamGlare</a></td><td class="desc">Represents the glare for a light beam </td></tr>
<tr id="row_0_11_4_7_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_rigidbody_follower.html" target="_self">RigidbodyFollower</a></td><td class="desc">Used to follow a rigidbody. We use this for the rope and the hook to stay connected </td></tr>
<tr id="row_0_11_4_8_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_rope.html" target="_self">Rope</a></td><td class="desc">Describes the rope for the sand puzzle. Based on: <a href="https://github.com/GaryMcWhorter/Verlet-Chain-Unity">https://github.com/GaryMcWhorter/Verlet-Chain-Unity</a> </td></tr>
<tr id="row_0_11_4_9_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_rope_grab_point.html" target="_self">RopeGrabPoint</a></td><td class="desc">Represents a point of the rope that can be grabbed by the user </td></tr>
<tr id="row_0_11_4_10_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_sand_bucket.html" target="_self">SandBucket</a></td><td class="desc">Defines the interactions of the sand bucket, including the particles for the sand into it </td></tr>
<tr id="row_0_11_4_11_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_sand_chute.html" target="_self">SandChute</a></td><td class="desc">Defines the behaviour for the sand chute of the sand puzzle. Limitation: Only one sand bucket in the scene, and only one sand bucket can be filled at a time </td></tr>
<tr id="row_0_11_4_12_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_sand_chute_particle_killer.html" target="_self">SandChuteParticleKiller</a></td><td class="desc">Describes how the particles for the sand chute behave </td></tr>
<tr id="row_0_11_4_13_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_sand_chute_volume_killer.html" target="_self">SandChuteVolumeKiller</a></td><td class="desc">Defines the sand chute volume killer for the sand puzzle </td></tr>
<tr id="row_0_11_4_14_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_set_rope_shader_height.html" target="_self">SetRopeShaderHeight</a></td><td class="desc">Used for setting the vertical position the rope should be clipped at using the shader: S_Master_IntroOutro_unlit_HeightClip </td></tr>
<tr id="row_0_11_4_15_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_sand_puzzle_1_1_window_opener.html" target="_self">WindowOpener</a></td><td class="desc">Defines the mechanism that opens the window of the sand puzzle </td></tr>
<tr id="row_0_11_5_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_5_" class="arrow" onclick="toggleFolder('0_11_5_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle.html" target="_self">TeslaPuzzle</a></td><td class="desc"></td></tr>
<tr id="row_0_11_5_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_directional_apparatus.html" target="_self">DirectionalApparatus</a></td><td class="desc">Describes the behaviour for the directional apparatus for the Tesla puzzle </td></tr>
<tr id="row_0_11_5_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_electric_generator.html" target="_self">ElectricGenerator</a></td><td class="desc">Represents an object that can emit electricity arcs from a start to an end position. The end position is based on other electric generators nearby, which are distant not less than the m_electricMaxRadius. When the generator's electricity is disabled, no electricity arc will be shown </td></tr>
<tr id="row_0_11_5_2_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_electric_generators_manager.html" target="_self">ElectricGeneratorsManager</a></td><td class="desc">Handles the list of generators present in the scene for the Tesla puzzle </td></tr>
<tr id="row_0_11_5_3_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_main_generator.html" target="_self">MainGenerator</a></td><td class="desc">Describes the behaviour for the Main electric generator of the Tesla puzzle </td></tr>
<tr id="row_0_11_5_4_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_mini_generator_snappable.html" target="_self">MiniGeneratorSnappable</a></td><td class="desc">Represents a snappable mini generator </td></tr>
<tr id="row_0_11_5_5_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_mini_generator_snap_socket.html" target="_self">MiniGeneratorSnapSocket</a></td><td class="desc">Represents the snapping area for a a mini generator snappable </td></tr>
<tr id="row_0_11_5_6_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_tesla_coil_snappable.html" target="_self">TeslaCoilSnappable</a></td><td class="desc">Represents a snappable Tesla coil </td></tr>
<tr id="row_0_11_5_7_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_tesla_puzzle_1_1_tesla_coil_snap_socket.html" target="_self">TeslaCoilSnapSocket</a></td><td class="desc">Represents the snapping area for a Tesla coil snappable </td></tr>
<tr id="row_0_11_6_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_11_6_" class="arrow" onclick="toggleFolder('0_11_6_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_puzzles_1_1_u_v_puzzle.html" target="_self">UVPuzzle</a></td><td class="desc"></td></tr>
<tr id="row_0_11_6_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_u_v_puzzle_1_1_uv_light_bulb.html" target="_self">UvLightBulb</a></td><td class="desc">Defines the UV light bulb for the UV machine puzzle </td></tr>
<tr id="row_0_11_6_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_u_v_puzzle_1_1_uv_light_clue.html" target="_self">UvLightClue</a></td><td class="desc">Represents the UV clue that appears on the wall when the working UV light bulb is into the UV machine and is turned on </td></tr>
<tr id="row_0_11_6_2_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_u_v_puzzle_1_1_uv_light_machine.html" target="_self">UvLightMachine</a></td><td class="desc">Describes the behaviour for the UV machine of the UV puzzle </td></tr>
<tr id="row_0_11_7_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_puzzles_1_1_cabinet.html" target="_self">Cabinet</a></td><td class="desc">Spawns the objects inside of the cabinet that the user interacts with </td></tr>
<tr id="row_0_12_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_12_" class="arrow" onclick="toggleFolder('0_12_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_scene_management.html" target="_self">SceneManagement</a></td><td class="desc"></td></tr>
<tr id="row_0_12_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_ceiling_height_detector.html" target="_self">CeilingHeightDetector</a></td><td class="desc">Script to detect the height of the ceiling. Useful for when we want to show clue textures over the ceiling </td></tr>
<tr id="row_0_12_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_desk_space_finder.html" target="_self">DeskSpaceFinder</a></td><td class="desc">Generates a distance field on plane accounting for blocking objects. Includes functionality to return a position on the plane for a given radius </td></tr>
<tr id="row_0_12_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_floor_space_finder.html" target="_self">FloorSpaceFinder</a></td><td class="desc">System for finding the space on a floor including functionality to place relative to the wall </td></tr>
<tr id="row_0_12_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interface_cryptic_cabinet_1_1_scene_management_1_1_i_space_finder.html" target="_self">ISpaceFinder</a></td><td class="desc">Interface defining the core functions for a space finder object </td></tr>
<tr id="row_0_12_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_request_room_setup.html" target="_self">RequestRoomSetup</a></td><td class="desc">This is a convenient script to initiate / re-calibrate the Room Setup when needed </td></tr>
<tr id="row_0_12_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_room_object.html" target="_self">SceneRoomObject</a></td><td class="desc">This is added to the prefab that the OVRSceneManager spawns that describes a Scene object. Once loaded passes the details of the loaded object to the SceneUnderstandingLocationPlacer </td></tr>
<tr id="row_0_12_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_setup_validation.html" target="_self">SceneSetupValidation</a></td><td class="desc">Check if the scene setup is valid, and triggers the relative events to notify its state </td></tr>
<tr id="row_0_12_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html" target="_self">SceneUnderstandingLocationPlacer</a></td><td class="desc">Central manager for all surface finding, takes in the objects created by the OVRSceneManager and passed the relevant information to the space finding mangers. Once set up also handles moving the debug visual props to the appropriate locations </td></tr>
<tr id="row_0_12_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html" target="_self">WallSpaceFinder</a></td><td class="desc">Used to detect empty spaces on a wall for the object placement queries </td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_13_" class="arrow" onclick="toggleFolder('0_13_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_timeline_extensions.html" target="_self">TimelineExtensions</a></td><td class="desc"></td></tr>
<tr id="row_0_13_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_lerp_timeline_behaviour.html" target="_self">LerpTimelineBehaviour</a></td><td class="desc">Custom implementation of the playable behaviour for a lerp timeline. Specifically, this is a bridge between the LerpTimelineClip set up in a timeline and the LerpTimelineEvent to report the percentage through the LerpTimelineClip </td></tr>
<tr id="row_0_13_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_lerp_timeline_clip.html" target="_self">LerpTimelineClip</a></td><td class="desc">Custom implementation for a lerp timeline clip </td></tr>
<tr id="row_0_13_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_lerp_timeline_event.html" target="_self">LerpTimelineEvent</a></td><td class="desc">Defines a lerp timeline update event </td></tr>
<tr id="row_0_13_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_loop_behaviour.html" target="_self">LoopBehaviour</a></td><td class="desc">Custom playable behaviour for a loop </td></tr>
<tr id="row_0_13_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_loop_clip.html" target="_self">LoopClip</a></td><td class="desc">Custom implementation of a playable asset for a loop clip </td></tr>
<tr id="row_0_13_5_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_loop_track.html" target="_self">LoopTrack</a></td><td class="desc">Custom implementation for a track asset </td></tr>
<tr id="row_0_13_6_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_timeline_extensions_1_1_wait_timeline.html" target="_self">WaitTimeline</a></td><td class="desc">Defines a timeline with a trigger to wait for </td></tr>
<tr id="row_0_14_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_14_" class="arrow" onclick="toggleFolder('0_14_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_u_i.html" target="_self">UI</a></td><td class="desc"></td></tr>
<tr id="row_0_14_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_14_0_" class="arrow" onclick="toggleFolder('0_14_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_u_i_1_1_modal.html" target="_self">Modal</a></td><td class="desc"></td></tr>
<tr id="row_0_14_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_modal_1_1_credits.html" target="_self">Credits</a></td><td class="desc">Handles the logic for the Credits UI </td></tr>
<tr id="row_0_14_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_modal_1_1_in_game_menu.html" target="_self">InGameMenu</a></td><td class="desc">An in-game menu that can be used to exit the game play </td></tr>
<tr id="row_0_14_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_modal_1_1_main_menu.html" target="_self">MainMenu</a></td><td class="desc">Handles the logic for the Main Menu UI </td></tr>
<tr id="row_0_14_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_modal_1_1_modal_message.html" target="_self">ModalMessage</a></td><td class="desc">Handles the logic for a generic Modal message UI </td></tr>
<tr id="row_0_14_0_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_modal_1_1_modal_message_with_buttons.html" target="_self">ModalMessageWithButtons</a></td><td class="desc">A convenient modal window with two customizable buttons that can show a text message to the user and provide actions on button press </td></tr>
<tr id="row_0_14_0_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_modal_1_1_multiplayer_menu.html" target="_self">MultiplayerMenu</a></td><td class="desc">Handles the logic for a generic Multiplayer Menu UI </td></tr>
<tr id="row_0_14_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_menu_trigger.html" target="_self">MenuTrigger</a></td><td class="desc">Controls the trigger to open the in-game menu </td></tr>
<tr id="row_0_14_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_u_i_1_1_u_i_system.html" target="_self">UISystem</a></td><td class="desc">Singleton to control the menus and windows for the game UI </td></tr>
<tr id="row_0_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_15_" class="arrow" onclick="toggleFolder('0_15_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_utils.html" target="_self">Utils</a></td><td class="desc"></td></tr>
<tr id="row_0_15_0_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_15_0_" class="arrow" onclick="toggleFolder('0_15_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_utils_1_1_audio.html" target="_self">Audio</a></td><td class="desc"></td></tr>
<tr id="row_0_15_0_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_audio_1_1_networked_audio_source.html" target="_self">NetworkedAudioSource</a></td><td class="desc">Replicates loop and play state of AudioSource. Note: call Play and Stop on this instead of the AudioSource, otherwise replication will not work! </td></tr>
<tr id="row_0_15_0_1_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_audio_1_1_networked_audio_trigger.html" target="_self">NetworkedAudioTrigger</a></td><td class="desc">Replicates loop and play state of AudioTrigger. Note: use this component instead of AudioTrigger to set the audio source, the clips and call Play(), otherwise network replication will not work! </td></tr>
<tr id="row_0_15_1_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_15_1_" class="arrow" onclick="toggleFolder('0_15_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_utils_1_1_interactive_objects.html" target="_self">InteractiveObjects</a></td><td class="desc"></td></tr>
<tr id="row_0_15_1_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_interactive_objects_1_1_mesh_button_switch.html" target="_self">MeshButtonSwitch</a></td><td class="desc">Represents an interactive button switch </td></tr>
<tr id="row_0_15_2_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_15_2_" class="arrow" onclick="toggleFolder('0_15_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_cryptic_cabinet_1_1_utils_1_1_transformers.html" target="_self">Transformers</a></td><td class="desc"></td></tr>
<tr id="row_0_15_2_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_transformers_1_1_two_hand_grab_transformer.html" target="_self">TwoHandGrabTransformer</a></td><td class="desc">This two hands grab has the following rules: </td></tr>
<tr id="row_0_15_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_blackout_volume.html" target="_self">BlackoutVolume</a></td><td class="desc">A volume that triggers a blackout effect for the player. Used to hide the inside of the main puzzle objects during the gameplay </td></tr>
<tr id="row_0_15_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_blob_shadow_runner.html" target="_self">BlobShadowRunner</a></td><td class="desc">Runs placing a blob shadow on a surface below the target object </td></tr>
<tr id="row_0_15_5_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_ceiling_placer.html" target="_self">CeilingPlacer</a></td><td class="desc">Moves an object to ceiling height if the CeilingHeightDetector is spawned </td></tr>
<tr id="row_0_15_6_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_display_version_number.html" target="_self">DisplayVersionNumber</a></td><td class="desc">Responsible for showing the version number for the app </td></tr>
<tr id="row_0_15_7_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_enable_for_game_phase.html" target="_self">EnableForGamePhase</a></td><td class="desc">Enables or disables the desired game objects only if we are in the specified game phase </td></tr>
<tr id="row_0_15_8_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_enable_touch_visual_on_hover.html" target="_self">EnableTouchVisualOnHover</a></td><td class="desc">Toggles the TouchHandGrabInteractorVisual enable state so it can only override the hand pose state when touches are active </td></tr>
<tr id="row_0_15_9_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_follow_user_camera.html" target="_self">FollowUserCamera</a></td><td class="desc">Updates the transform of the object it is attached to, following the one of the specified primary camera. Position, rotation, and local scale are used from the followed user camera </td></tr>
<tr id="row_0_15_10_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_follow_user_gaze.html" target="_self">FollowUserGaze</a></td><td class="desc">Utility script to make UI follow the user's gaze, so that it can stay within the field of view of the camera </td></tr>
<tr id="row_0_15_11_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_force_controller_grab_unselect.html" target="_self">ForceControllerGrabUnselect</a></td><td class="desc">Utility class to force unselect when no mask button is, and disable select until at least one mask button is pressed on the controller </td></tr>
<tr id="row_0_15_12_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_15_12_" class="arrow" onclick="toggleFolder('0_15_12_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_force_snap.html" target="_self">ForceSnap</a></td><td class="desc">Force the snapping of a specified object onto a target snap zone </td></tr>
<tr id="row_0_15_12_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_utils_1_1_force_snap_1_1_snap_pair.html" target="_self">SnapPair</a></td><td class="desc"></td></tr>
<tr id="row_0_15_13_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_grab_pass_ownership.html" target="_self">GrabPassOwnership</a></td><td class="desc">Establishes the state authority ownership transfer to grant a grabbing action. This is to guarantee that whenever a player tries to grab an object, that player will be the only one able to grab that object assuming the state authority was acquired. When another player tries to grab an object, the state authority change is requested before allowing the grab of the object for that other player </td></tr>
<tr id="row_0_15_14_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_layer_snap_manager.html" target="_self">LayerSnapManager</a></td><td class="desc">Defines the rules to allow the snapping of objects belonging to the expected snap layer. This is to only allow the snap of snappable objects to the expected snap areas </td></tr>
<tr id="row_0_15_15_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_maths_utils.html" target="_self">MathsUtils</a></td><td class="desc"></td></tr>
<tr id="row_0_15_16_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_move_transform_with_controller.html" target="_self">MoveTransformWithController</a></td><td class="desc">Moves the transform of this object following the trajectory of the desired Quest controller. Stops the move when the desired trigger is pressed </td></tr>
<tr id="row_0_15_17_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_networked_collision_authority.html" target="_self">NetworkedCollisionAuthority</a></td><td class="desc">Support for collision with conditional state authority </td></tr>
<tr id="row_0_15_18_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_networked_snap_handler.html" target="_self">NetworkedSnapHandler</a></td><td class="desc">A networked handler for snap actions in multiplayer session </td></tr>
<tr id="row_0_15_19_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_networked_snapped_object.html" target="_self">NetworkedSnappedObject</a></td><td class="desc">Describes a networked snappable object for all users in a session </td></tr>
<tr id="row_0_15_20_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_network_singleton.html" target="_self">NetworkSingleton</a></td><td class="desc">Ensures that a specified network object only exists uniquely, following the singleton pattern </td></tr>
<tr id="row_0_15_21_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_15_21_" class="arrow" onclick="toggleFolder('0_15_21_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_object_placement_manager.html" target="_self">ObjectPlacementManager</a></td><td class="desc">The manager responsible for the object placements in the room during scene setup </td></tr>
<tr id="row_0_15_21_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_cryptic_cabinet_1_1_utils_1_1_object_placement_manager_1_1_scene_object.html" target="_self">SceneObject</a></td><td class="desc"></td></tr>
<tr id="row_0_15_22_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_object_placement_validator.html" target="_self">ObjectPlacementValidator</a></td><td class="desc">Singleton validator for the placement of all objects in the real room during scene setup </td></tr>
<tr id="row_0_15_23_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_object_placement_visualiser.html" target="_self">ObjectPlacementVisualiser</a></td><td class="desc">A visualizer to help with the object placement during scene setup. Note: Rigid body necessary to detect trigger events on enter and exit </td></tr>
<tr id="row_0_15_24_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_oculus_platform_utils.html" target="_self">OculusPlatformUtils</a></td><td class="desc">Utility class to configure the Oculus platform </td></tr>
<tr id="row_0_15_25_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_one_grab_free_transformer_raw.html" target="_self">OneGrabFreeTransformerRaw</a></td><td class="desc">A Transformer that moves the target in a 1-1 fashion with the GrabPoint. Simplified to place exactly where the grab point is calculated to be </td></tr>
<tr id="row_0_15_26_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_15_26_" class="arrow" onclick="toggleFolder('0_15_26_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_one_grab_rotate_transformer_extended.html" target="_self">OneGrabRotateTransformerExtended</a></td><td class="desc">A copy of OneGrabRotateTransformer but with a function exposed to allow the resetting of the _constrainedRelativeAngle value after force resetting the switch </td></tr>
<tr id="row_0_15_26_0_" class="odd" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_one_grab_rotate_transformer_extended_1_1_one_grab_rotate_constraints.html" target="_self">OneGrabRotateConstraints</a></td><td class="desc"></td></tr>
<tr id="row_0_15_27_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_pending_tasks_handler.html" target="_self">PendingTasksHandler</a></td><td class="desc">An utility class that can execute a sequence of pending actions at a later time. It offers a mechanism to perform an action immediately if it can be executed, or to delay its execution to a future time once it can be executed </td></tr>
<tr id="row_0_15_28_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_physics_toggle_switch.html" target="_self">PhysicsToggleSwitch</a></td><td class="desc">Controls when to enable or disable the physics programmatically in a multiplayer session </td></tr>
<tr id="row_0_15_29_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_reposition_when_far_away.html" target="_self">RepositionWhenFarAway</a></td><td class="desc">Convenient class to reposition objects when they are too far away from their original position. This is used for example as a backup if any object would fall under the floor </td></tr>
<tr id="row_0_15_30_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_simple_scene_object_placer.html" target="_self">SimpleSceneObjectPlacer</a></td><td class="desc">Establishes where a specific object should be placed into the real room depending on the object type, and on whether it should be placed on a wall or at ground level </td></tr>
<tr id="row_0_15_31_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_string_constants.html" target="_self">StringConstants</a></td><td class="desc">Simple utility class for string constants </td></tr>
<tr id="row_0_15_32_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_thread_safe_random.html" target="_self">ThreadSafeRandom</a></td><td class="desc">A thread safe source of random </td></tr>
<tr id="row_0_15_33_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_trigger_event_on_gaze.html" target="_self">TriggerEventOnGaze</a></td><td class="desc"></td></tr>
<tr id="row_0_15_34_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_u_i_raycast_utility.html" target="_self">UIRaycastUtility</a></td><td class="desc">Used to assist in selecting UI when distance grab interactors are present </td></tr>
<tr id="row_0_15_35_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_v_f_x_cone.html" target="_self">VFXCone</a></td><td class="desc">Represents a cone volume for VFX </td></tr>
<tr id="row_0_15_36_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_v_f_x_cone_binder.html" target="_self">VFXConeBinder</a></td><td class="desc">Binder class for ConeInformation for the visual effect graph. Adapted from package script: UnityEngine.VFX.Utility.VFXPlaneBinder </td></tr>
<tr id="row_0_16_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_cryptic_cabinet_1_1_app_startup.html" target="_self">AppStartup</a></td><td class="desc">This script takes care of initializing the required configurations for starting the application successfully. This should be placed into the main scene </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
  </ul>
</div>
</body>
</html>
